package com.example.musicplayer.mapper;

import com.example.musicplayer.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface LoveMusicMapper {
    /**
     * 检查是否已经收藏过该⾳乐
     * @param userId
     * @param musicId
     * @return
     */
    Music findLoveMusicByMusicIdAndUserId(int userId, int musicId);

    /**
     * 点赞/收藏⾳乐
     * @param userId
     * @param musicId
     * @return
     */
    boolean insertLoveMusic(int userId, int musicId);

    /**
     如果没有传⼊具体的歌曲名，显⽰当前⽤⼾收藏的所有⾳乐
     @param userId
     @return
     */
    List<Music> findLoveMusicByUserId(int userId);

    /**
     根据某个⽤⼾的ID和歌曲名称查询，某个⽤⼾收藏的⾳乐
     @param musicName
     @param userId
     @return
     */
    List<Music> findLoveMusicBykeyAndUID(String musicName, int userId);

    /**

     移除⾃⼰收藏的⾳乐，但是不是删除⾳乐本⾝，只是从数据库中删除了记录⽽已
     @param userId
     @param musicId
     @return
     */
    int deleteLoveMusic(int userId,int musicId);

    /**
     * 当删除库中的⾳乐的时候，同步删除lovemusic中的数据
     * @param musicId
     * @return
     */
    int deleteLoveMusicById(int musicId);

}
